
// successCB：Function，成功回调函数 必填
// errorCB ：Function，失败回调函数
// fileName ：String ，文件名 不需后缀名。 默认当前时间戳
// imgID ：String ，原生图片ID。默认当前时间戳
// overwrite ：Boolean ，是否覆盖。默认为true
// format ：String ，保存的格式。默认PNG
// quality ：Number ，保存质量。值为1-100，1最低，100最高，默认50
// clip ：Object ，指定截屏区域。默认{top:'0px',left:'0px',width:'100%',height:'100%'}
function captureScreen({
	page,
	successCB,
	errorCB,
	fileName,
	imgID,
	overwrite,
	format,
	quality,
	clip,
}) {
	errorCB = errorCB || function() {};
	fileName = fileName || Date.parse(new Date());
	imgID = imgID || String(Date.parse(new Date()));
	overwrite = overwrite || true;
	format = format || 'png';
	quality = quality || 100;
	clip = clip || {
		top: '0px',
		left: '0px',
		width: '100%',
		height: '100%'
	};
	var self = page.$getAppWebview();

	var bitmap = new plus.nativeObj.Bitmap(imgID);

	//绘制截图 
	self.draw(bitmap, function() {
		console.log(clip)
		// 保存Bitmap图片 
		bitmap.save('_doc/' + fileName + '.' + format, {
			overwrite: overwrite,
			format: format,
			quality: quality,
			clip: clip
		}, function(i) {
			//销毁Bitmap图片
			bitmap.clear();
			successCB({
				msg: '临时图片保存成功, 使用后建议手动删除临时图片',
				detail: i
			})
		}, function(e) {
			//销毁Bitmap图片
			bitmap.clear();
			errorCB({
				msg: '临时图片保存失败, 使用后建议手动删除临时图片',
				detail: e
			});
		});
	}, function(e) {
		errorCB({
			msg: '截屏绘制失败',
			detail: e
		});
	});
}

export default {
	captureScreen
};